<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    // JSON.stringify()  序列化成JSON对象 ，可以写三个参数，至少1个
    // 一个参数  （数据） 必填项: 进行序列化的对象，一般是数组，也可以是对象
    // 第二个参数（过滤）:  传入一个过滤数组，需要哪些对象的属性
    // 第三个参数（缩进）: 默认缩进几个空格
    let arr = [
        {name: 'jack', age: 21, hobbies: ['运动', '阅读', '游戏']},
        {name: 'jack2', age: 22, hobbies: ['运动2', '阅读', '游戏']},
        {name: 'jack3', age: 23, hobbies: ['运动3', '阅读', '游戏']},
    ];
    console.log('参数1个,', JSON.stringify(arr))
    console.log('参数2个,', JSON.stringify(arr, ['name', 'age']))   // 只要name和age两个属性
    console.log('参数3个,', JSON.stringify(arr, ['name', 'age'], 5)) // 缩进了5个空格

    // ======================  其他用法   ============================
    // 第二个参数传入函数来过滤
    let obj = {name:'jack2',age:20,school:'北大'}
    console.log('参数2个(函数),', JSON.stringify(obj, function (key, value) {
        switch (key) {
            case 'jack':
                return '11111'
            case 'jack2':
                return '22222'
            case 'jack3':
                return '33333'
            default:
                return value
        }
    }, 5))  // 运行结果是  {name:'jack2',age:20,school:'北大'}


    // 其中，第三个参数也可以先可以传字符串 如'-----' 用字符代替空格
    console.log('参数3个(字符串),', JSON.stringify(arr, ['name', 'age'], '-----'))

    // ========================   parseInt ====================================
    // 将一个字符串（按N进制）转换成十进制的整数进行解析

    console.log('parseInt解析:',parseInt('101'))
    console.log('parseInt解析:',parseInt('101',2))
    console.log('parseInt解析:',parseInt('AF8550',16))


</script>
</body>
</html>
